Skip to content

fix: multiget an @ literally where Robur needs it - #861

Merged
tobixen merged 1 commit into
masterfrom
fix/robur-encoded-href
Nov 12, 2026
Merged

tobixen merged 1 commit into
masterfrom
fix/robur-encoded-href

Conversation

@tobixen

@tobixen tobixen commented Nov 12, 2026

Copy link
Copy Markdown
Member

Commit message:

Robur decodes %40 in a request path but not in an href inside a REPORT
body: a calendar-multiget naming .../x%40y.ics answers 404 for an
object a GET of that URL serves, and .../x@y.ics finds it. The new
hint url.encode-at.encoded.href records that, and where it is
unsupported the @ of a multiget href is sent literally. Other escapes
are kept, and a server declaring the spellings distinct is left alone.

Prompt: Continue working on getting those [calendaring] conformance tests passing. [on Robur, every object with an @ in its UID failed its read-back]

Assisted-By: Claude Opus 5.5 noreply@anthropic.com

The matching caldav-server-tester probe gives unsupported when run against Robur; it is going into a PR there.

Robur decodes %40 in a request path but not in an href inside a REPORT
body: a calendar-multiget naming .../x%40y.ics answers 404 for an
object a GET of that URL serves, and .../x@y.ics finds it.  The new
hint url.encode-at.encoded.href records that, and where it is
unsupported the @ of a multiget href is sent literally.  Other escapes
are kept, and a server declaring the spellings distinct is left alone.

Prompt: Continue working on getting those [calendaring] conformance tests passing.  [on Robur, every object with an @ in its UID failed its read-back]

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
@tobixen
tobixen force-pushed the fix/robur-encoded-href branch from ec13dce to 670a256 Compare November 12, 2026 23:15
@tobixen
tobixen merged commit 670a256 into master Nov 12, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant